ProdutosIntegraçõesRecursosDocumentaçãoPreços
Começar agora

© 2026 CapSolver. All rights reserved.

Contacte-nos

Slack: lola@capsolver.com

Produtos

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Extensão de Navegador
  • Mais tipos de CAPTCHA

Integrações

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Parceiros
  • Ver todas as integrações

Recursos

  • Programa de Referenciação
  • Documentação
  • Referência da API
  • Blog
  • FAQ
  • Glossário
  • Estado

Legal

  • Termos de Serviço
  • Política de Privacidade
  • Política de Reembolso
  • Não vender os meus dados pessoais
Blog/The other captcha/Como resolver o CAPTCHA com o Selenium C#
Jul11, 2024

Como resolver o CAPTCHA com o Selenium C#

Aloísio Vítor

Aloísio Vítor

Image Processing Expert

Introdução

CAPTCHA frequentemente representa um obstáculo significativo em tarefas de web scraping e automação. No entanto, com a abordagem correta usando Selenium e C#, é possível lidar e resolver desafios CAPTCHA de forma eficaz. Neste guia, exploraremos o gerenciamento programático de CAPTCHA em sites e demonstraremos o web scraping em um site de exemplo.

Compreendendo CAPTCHA

CAPTCHA, abreviação de Teste de Turing Público Completamente Automatizado para Diferenciar Computadores e Humanos, atua como um porteiro digital na entrada de websites. Ele desafia os usuários com tarefas como decifrar texto distorcido, identificar objetos ou ouvir clipes de áudio entre ruídos. Esses testes são cruciais para proteger serviços online de bots automatizados, garantindo apenas interações genuínas de humanos.

Para uma exploração mais detalhada sobre CAPTCHA e suas variações, você pode conferir este guia abrangente sobre tipos de CAPTCHA e sua eficácia.

Está enfrentando dificuldades repetidas para resolver a irritante CAPTCHA completamente? Descubra a solução automática e sem interrupções com a tecnologia CapSolver de Desbloqueio Automático de Web alimentada por IA!

Reivindique seu Código de Bônus para as principais soluções CAPTCHA; CapSolver: WEBS. Após resgatá-lo, você receberá um bônus extra de 5% após cada recarga, sem limites.

Pré-requisitos

Antes de mergulhar no Selenium e C# para resolver CAPTCHA e web scraping, certifique-se de ter o seguinte:

  • Visual Studio
  • .NET Framework
  • Selenium WebDriver para C# (Instale usando o NuGet Package Manager: Install-Package Selenium.WebDriver)
  • WebDriver para seu navegador específico (por exemplo, ChromeDriver e FirefoxDriver para download).

Configurando o Selenium no Visual Studio

Para começar, crie um novo projeto C# no Visual Studio e adicione o Selenium WebDriver usando o NuGet Package Manager:

powershell Copy
Install-Package Selenium.WebDriver

Além disso, instale o WebDriver para seu navegador preferido. Você pode encontrar drivers específicos como ChromeDriver e FirefoxDriver para download.

Exemplo Básico de Web Scraping

Vamos demonstrar como extrair dados de um site de exemplo usando Selenium em C#:

csharp Copy
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Collections.Generic;

namespace WebScrapingExample
{
    class Program
    {
        static void Main(string[] args)
        {
            IWebDriver driver = new ChromeDriver();
            driver.Navigate().GoToUrl("https://www.scrapethissite.com/pages/simple/");

            var countries = driver.FindElements(By.CssSelector(".country"));
            List<string> countryData = new List<string>();

            foreach (var country in countries)
            {
                var name = country.FindElement(By.CssSelector(".country-name")).Text;
                var capital = country.FindElement(By.CssSelector(".country-capital")).Text;
                var population = country.FindElement(By.CssSelector(".country-population")).Text;
                var area = country.FindElement(By.CssSelector(".country-area")).Text;

                countryData.Add($"Nome: {name}, Capital: {capital}, População: {population}, Área: {area}");
            }

            foreach (var data in countryData)
            {
                Console.WriteLine(data);
            }

            driver.Quit();
        }
    }
}

Lidando com Desafios CAPTCHA

Lidar com CAPTCHA envolve a integração de um serviço de resolução de CAPTCHA como o CapSolver. Aqui está um exemplo básico de como integrá-lo:

Configurando a Integração com API CapSolver

Antes de resolver CAPTCHAs programaticamente, você precisa se inscrever no site da CapSolver e obter uma chave de API.

Integração Passo a Passo com CapSolver

  1. Crie uma Conta: Inscreva-se no site da CapSolver e faça login no seu painel.

  2. Gere uma Chave de API: Navegue até a seção de API no seu painel CapSolver e gere uma chave de API.

Implementando a Resolução de CAPTCHA com CapSolver

Abaixo está uma implementação de exemplo usando CapSolver para resolver um desafio reCAPTCHA v2:

csharp Copy
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;

namespace SolveCaptchaExample
{
    class Program
    {
        static async Task Main(string[] args)
        {
            IWebDriver driver = new ChromeDriver();
            driver.Navigate().GoToUrl("https://www.google.com/recaptcha/api2/demo");

            var siteKey = driver.FindElement(By.CssSelector("div.g-recaptcha")).GetAttribute("data-sitekey");
            var pageUrl = driver.Url;

            var captchaResponse = await SolveCaptcha(siteKey, pageUrl, "sua apiKey");
            await Console.Out.WriteLineAsync(captchaResponse);


            IWebElement recaptchaResponseElement = driver.FindElement(By.Id("g-recaptcha-response"));
            ((IJavaScriptExecutor)driver).ExecuteScript($"arguments[0].value = '{captchaResponse}';", recaptchaResponseElement);

            IWebElement submitButton = driver.FindElement(By.CssSelector("#recaptcha-demo-submit"));
            submitButton.Click();
        }

        static async Task<string> SolveCaptcha(string siteKey, string pageUrl, string apikey)
        {
            var client = new HttpClient();
            var content = new StringContent($"{{\"clientKey\": \"{apikey}\", \"task\": {{\"type\": \"RecaptchaV2TaskProxyless\", \"websiteURL\": \"{pageUrl}\", \"websiteKey\": \"{siteKey}\"}}}}", System.Text.Encoding.UTF8, "application/json");
            var response = await client.PostAsync("https://api.capsolver.com/createTask", content);
            var jsonResponse = await response.Content.ReadAsStringAsync();
            var taskId = JObject.Parse(jsonResponse)["taskId"].ToString();

            string captchaSolution = "";
            while (captchaSolution == "" || captchaSolution.Contains("processing"))
            {
                await Task.Delay(5000);
                var content2 = new StringContent($"{{\"clientKey\": \"{apikey}\", \"taskId\": \"{taskId}\"}}", System.Text.Encoding.UTF8, "application/json");
                var response2 = await client.PostAsync("https://api.capsolver.com/getTaskResult", content2);
                var jsonResponse3 = await response2.Content.ReadAsStringAsync();
                captchaSolution = JObject.Parse(jsonResponse3)["solution"]["gRecaptchaResponse"].ToString();
            }

            return captchaSolution;
        }
    }
}

Conclusão

Neste tutorial, cobrimos o básico de como usar Selenium com C# para lidar com CAPTCHAs e demonstramos web scraping com um exemplo prático. Com essas técnicas e ferramentas como CapSolver, você pode automatizar de forma eficiente interações com websites protegidos por CAPTCHA e extrair dados de forma transparente.

Ver mais

The other captchaApr 03, 2026

Como lidar com os bloqueios de raspagem da web: métodos práticos que funcionam

Aprenda como lidar efetivamente com os bloqueios de scraping na web. Descubra métodos práticos, insights técnicos sobre detecção de bots e soluções confiáveis para extração de dados.

Ethan Collins
Ethan Collins
The other captchaApr 03, 2026

Tempo de Resposta da API de Resolução de CAPTCHA Explicado: Fatores de Velocidade e Desempenho

Entenda o tempo de resposta da API de resolução de CAPTCHA, seu impacto na automação e os principais fatores que afetam a velocidade. Aprenda como otimizar o desempenho e aproveitar soluções eficientes como a CapSolver para resolução rápida de CAPTCHA.

Índice

Emma Foster
Emma Foster
The other captchaApr 02, 2026

O que é uma API de resolução de CAPTCHA? Como Funciona e Quando Usá-la

Aprenda o que é uma API de resolução de CAPTCHA, como ela funciona e quando usá-la para automação. Descubra os benefícios da resolução de CAPTCHA com inteligência artificial para raspagem de dados.

Sora Fujimoto
Sora Fujimoto
The other captchaFeb 27, 2026

Dominando os Desafios do CAPTCHA no Scraping de Dados de Empregos (Guia de 2026)

Um guia abrangente para compreender e superar o desafio CAPTCHA na raspagem de dados de vagas. Aprenda a lidar com o reCAPTCHA e outros obstáculos com nossas dicas especializadas e exemplos de código.

Anh Tuan
Anh Tuan